package com.tencent.qf.team.dal;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * ty_distribute_sale_sharer_commission_bill
 *
 * @author
 */
@Data
public class TyDistributeSaleSharerCommissionBill extends TyDistributeSaleSharerCommissionBillKey implements Serializable {
    /**
     * 佣金账单id
     */
    private Long billId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 订单行号
     */
    private String lineOrderNo;

    /**
     * sku_id
     */
    private String skuId;

    /**
     * spu_id
     */
    private String spuId;

    /**
     * 订单联盟来源,如云选
     */
    private String leagueSource;

    /**
     * 账单状态
     */
    private String billStatus;

    /**
     * 账单类型
     */
    private String billType;

    /**
     * 订单跟单信息
     */
    private String txCpsId;

    /**
     * 主体id，如云Mall saasId/外部机构id等
     */
    private String principleId;

    /**
     * 主体类型, YUNMALL_SASAAS/OUTER_ORG
     */
    private String principleType;

    /**
     * 分销员id，非云mall时会为空
     */
    private Long sharerId;

    /**
     * 分销员外部id，理论上sharer_id和sharer_outer_id不能同时为空
     */
    private String sharerOuterId;

    /**
     * 分销员类型，对应SharerIdTypeEnum
     */
    private String sharerType;

    /**
     * 佣金金额，单位分
     */
    private Integer commissionAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 佣金计算规则快照，json；
     */
    private String commissionRuleSnapshot;

    /**
     * 扩展字段，json
     */
    private String extension;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 软删除
     */
    private Byte deleted;

    /**
     * 版本号，每次修改递增
     */
    private Long versionNo;

    /**
     * 订单项ID
     */
    private Long orderItemId;

    /**
     * bill分账结果，如成功/失败
     */
    private String resultStatus;

    /**
     * 计税方式("ACCIDENTAL_INCOME_TAX","偶然所得税","EARNED_INCOME_TAX","劳务所得税","UNDEFINITION_TAX","未定义税费方式")
     */
    private String taxType;

    /**
     * 税后计佣
     */
    private Integer predictAfterAccidentalIncomeTaxAmount;

    /**
     * 分销类型(自购&分销)
     */
    private String commissionType;

    /**
     * 字符串槽位1
     */
    private String stringSlot1;

    /**
     * 字符串槽位2
     */
    private String stringSlot2;

    /**
     * 数字槽位1
     */
    private BigDecimal numSlot1;

    /**
     * 数字槽位2
     */
    private BigDecimal numSlot2;

    private static final long serialVersionUID = 1L;
}